An FPGA (Field Programmable Gate Array) is a programmable logic circuit and has a feature in which a user can realize a desired circuit configuration by changing the connection of internal wiring by user programming. The FPGA functions as a predetermined logic circuit by writing configuration data in which a logical relationship between the logic gates and a connection relationship between the logic gates are described in a configuration RAM (Configuration Random Access Memory) included in the FPGA. The connection of internal wiring in the FPGA can be changed by changing a value (“1” or “0”) set to the configuration RAM and whereby, the desired circuit can be realized.
By the way, two kinds of errors occur in the configuration RAM. One is a “hard error” caused by a defect in the circuit itself and the other is a “soft error” caused by a radioactive ray such as an alpha ray or the like which corrupts the data in the configuration RAM. When the “soft error” occurs, it can be recovered by reconfiguring the FPGA. Reconfiguration is achieved by reloading the configuration data to the configuration RAM (refer to Patent Literature 1).